#include <iostream>
#include <map>
#include <string>

int main() {
  int a[4] = {1, 2, 3, 4};
  int *p = &a[2]; // *p 是第三个元素的地址
  std::cout << p[1] << p[-1] << 1 [p] << (-1)[p]
            << '\n'; // a[b] 的解包, 等价于 *(a + b)

  std::map<std::pair<int, int>, std::string> m;
  m[{1, 2}] = "abc";
}